Skip to content

Conversation

@YosefAshenafi
Copy link
Contributor

Summary

Set up mkdocs with Material theme to build documentation site from README files across the repository. Includes build and serve scripts for local development and CI/CD automation.

Changes

  • mkdocs.yml: Documentation site configuration with Material theme, custom branding (#0037f0), and navigation matching repository structure
  • build-docs.sh: Script to copy README files and build static site for GitHub Pages
  • serve-docs.sh: Script for local development with automatic README copying and live reload
  • .gitignore: Updated to ignore docs/ (temporary build folder) and site/ (generated output)
  • docs/extra.css: Custom CSS for brand colors and styling
  • .github/workflows/deploy-docs.yml: GitHub Actions workflow for automatic deployment to GitHub Pages on README updates

Notes

  • The documentation reads from actual README.md files throughout the repository without duplication or symlinks
  • The docs/ folder is gitignored, containing only temporary copies created during build
  • For local development, run bash serve-docs.sh to copy README files and start the dev server
  • This PR should be merged after PR docs: add comprehensive README files across the codebase #507 (README files) is merged

YosefAshenafi and others added 16 commits November 13, 2025 10:26
Add 173 new README files automatically generated across the codebase:
- Core modules: admin/, api/, cache/, decorators/, extensions/, forms/, middleware/, models/, utils/, validators/
- Django apps: accounts/, changelog/, organizations/, cpq/, and 25+ additional apps
- External integrations: lib/google/, lib/stripe/, lib/slack/, lib/aws/, lib/github/, and 40+ third-party library wrappers
- Utilities: scripts/, south_migrations/, templatetags/, test_scaffold/

These README files provide clear, concise module summaries for improved code navigation and documentation.

Updated existing README files for main project and key modules.

Corrected Hacktoolkit branding to proper capitalization (only H capitalized).

Updated .gitignore to exclude MkDocs build artifacts (site/).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Replace verbose AI-generated documentation with minimal, focused README files.

## Changes

- Remove filler sections: 'Best Practices', 'Testing', 'Related Modules'
- Remove generic CRUD and example code
- Keep only meaningful, module-specific content:
  - Actual classes and functions with their docstrings
  - Links to file locations
  - Component indicators (Models, Views, Forms, etc.)
  - URL patterns if any exist

## Result

110 README files regenerated with focused, useful content.
No generic boilerplate or AI slop.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update numpy from ==1.22.0 to >=1.26.0,<3
- NumPy 1.22.0 is incompatible with Python 3.12 (causes ImpImporter error)
- NumPy 1.26.0+ adds Python 3.12 support
- Use version range for flexibility while ensuring compatibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update reportlab from ==3.6.13 to >=4.4.4,<5
- ReportLab 4.4.4+ provides pure Python wheels (no compilation needed)
- Fixes build error: "cannot find ft2build.h" on deployment
- No longer requires system dependencies (libfreetype6-dev, libjpeg-dev)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add python-amazon-paapi>=5.0.0 for Amazon Product Advertising API
- Required by htk.lib.amazon.api module

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Upgrade Django from 4.2.25 to 5.2 (LTS release)
- Update django-grappelli to >=3.0.3,<3.1 for compatibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Transformed 89 README files across the entire HTK codebase from auto-generated
class/function listings to practical, actionable documentation for developers.

## Changes

**Phase 1 - Apps (28):** Replaced generic content with use-case driven guides
- Quick Start sections with copy-paste code examples
- Common Patterns for real-world usage
- Configuration sections with environment variables
- Cross-referenced Related Modules

**Phase 2 - Library Integrations (45):** Practical API integration guides
- stripe_lib, slack, google, aws, shopify, iterable, airtable, openai, github
- fullcontact, fitbit, indeed, ziprecruiter, zuora, yelp (15 from Batch 1)
- alexa through zillow (30 from Batch 2-3)
- Each with Quick Start, Operations, Configuration, and Related Modules

**Phase 3 - Utils (8):** Utility reference documentation
- concurrency, data_structures, http, i18n, log, maths, measurements, text

**Phase 4 - Core (14):** Enhanced core modules
- admin, admintools, api, cache, constants, decorators, extensions, forms
- middleware, models, scripts, templatetags, test_scaffold, validators

## Quality Standards

- Removed AI-generated filler and placeholder content
- Added practical, copy-paste ready code examples
- Included configuration sections with environment variables
- Created cross-referenced module linking
- Professional tone suitable for hackathon developers
- Consistent template structure across all files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Expanded 13 sparse third-level READMEs with comprehensive, practical documentation
matching the structure established in main library and app modules.

## Changes

### Phase 1: Most Sparse (5-13 lines → 120-280 lines)
- `api/auth/README.md`: HTTP Bearer token authentication patterns, REST client integration
- `extensions/data_structures/README.md`: OrderedSet implementation, performance characteristics, deduplication patterns
- `models/fields/README.md`: Custom fields (ULIDField, CrossDBForeignKey, StarRatingField), multi-database setup

### Phase 2: Moderately Sparse (40-60 lines → 190-330 lines)
- `apps/customers/README.md`: Customer hierarchies, B2B commerce patterns, role management
- `apps/notifications/README.md`: Multi-channel notifications, signal-based triggers, bulk operations
- `apps/mobile/README.md`: Device registration, push notifications, multi-device support
- `apps/mp/README.md`: Materialized properties, performance optimization, signal invalidation
- `apps/prelaunch/README.md`: Waitlist management, referral system, phased rollout patterns
- `apps/feedback/README.md`: Feedback analytics, rating filtering, team notifications
- `apps/assessments/README.md`: Quiz management, analytics, difficulty analysis, certificates
- `apps/blob_storage/README.md`: Binary storage, virus scanning, compression, S3 integration
- `apps/file_storage/README.md`: File upload, validation, versioning, quota management
- `apps/sites/README.md`: Multi-site setup, canonical URLs, site-specific configuration

## Pattern & Structure
Each README now includes:
- Quick Start with immediate usage examples
- Detailed sections with practical code patterns
- Common Patterns section with real-world use cases
- Models/Operations documentation
- Configuration settings
- Best Practices
- Related Modules references

Total: 2838 insertions across 13 files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
… professional content

Replaced placeholder TODOs across 50 README files with comprehensive, production-ready documentation.

## Changes

### Constants Directories (43 files)
Replaced generic TODO placeholders with professional constants module documentation covering:
- Overview of constants organization
- Types of constants (configuration, enums, lookups, conversion factors)
- Usage examples for importing and accessing constants
- Configuration settings with HTK_ prefix pattern
- Best practices for constants usage and organization
- Related modules references

Directories updated:
- All 43 constants/ subdirectories across apps, lib, core modules

### Management Directories (2 files)
- `apps/changelog/management/README.md`
- `apps/changelog/management/commands/README.md`

Replaced with documentation covering:
- Django management command overview
- How to run management commands with arguments and options
- Scheduled execution patterns (celery, cron)
- Best practices for management commands

### API Integration Modules (3 files)
- `lib/google/chat/README.md`
- `lib/google/cloud_messaging/README.md`
- `lib/google/youtube/README.md`

Replaced with documentation covering:
- API integration overview
- Authentication and credentials
- Error handling patterns
- Configuration via HTK_ settings
- Best practices for API usage

### Scripts (1 file)
- `lib/yahoo/sports/scripts/README.md`

### Migrations (1 file)
- `south_migrations/README.md`

Replaced with documentation covering:
- Migration file organization
- Running migrations (apply, rollback, show status)
- Creating new migrations
- Best practices for database migrations

## Summary
- 50 files modified
- 4,158 insertions, 2,635 deletions
- 0 TODO placeholders remaining in entire htk/ directory
- All READMEs now contain professional, actionable content

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
…ehensive documentation

Expanded 48 sparse third-level README files across apps, libs, and utils with professional documentation templates.

## Changes by Category

### API Endpoints (4 files)
- `apps/accounts/api/README.md`
- `apps/prelaunch/api/README.md`
- `lib/indeed/api/README.md`

Documentation includes: request/response formats, authentication, common operations, error handling, configuration, best practices.

### Utils Utilities (8 files)
- `apps/accounts/utils/README.md`
- `apps/bible/utils/README.md`
- `apps/cpq/utils/README.md`
- `apps/i18n/utils/README.md`
- `utils/data_structures/README.md`
- `utils/i18n/README.md`

Documentation includes: import patterns, common function types, lookup/creation/validation/transformation patterns, function conventions, configuration.

### Django Forms (1 file)
- `apps/accounts/forms/README.md`

Documentation includes: form usage in views, validation patterns, rendering in templates, error handling.

### Django Models (3 files)
- `apps/prelaunch/models/README.md`
- `lib/github/models/README.md`
- `lib/openai/models/README.md`

Documentation includes: model queries, create operations, field types, relationships, properties, querysets, best practices.

### Utility Classes (1 file)
- `apps/changelog/classes/README.md`

Documentation includes: class types, initialization patterns, state management, context managers, common methods.

### Third-party Integrations (31 files)
All lib integration READMEs expanded with comprehensive documentation:

APIs/Services: aws/s3, google/*, indeed/api, slack/beacon, yahoo/*
Data Services: airtable, amazon, facebook, linkedin, mongodb, plivo, qrcode, rabbitmq
Real Estate/Finance: redfin, zillow, glassdoor, mapbox, geoip
Other Services: awesomebible, darksky, egauge, esv, gravatar, literalword, ohmygreen, songselect, sfbart

Each includes: initialization, basic operations, authentication, response format, pagination, caching, configuration, best practices.

## Summary
- 48 files modified
- 6,402 insertions, 419 deletions
- All sparse function-only READMEs now have comprehensive, professional documentation
- Consistent templates applied across similar module types
- Excluded all gitignored directories (venv, static, data, .github, etc.)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Removed the "Related Modules" section from all 166 README files across the codebase to reduce redundancy and keep documentation focused on the module's purpose and usage.

## Changes
- Removed "## Related Modules" section from all README.md files
- Section was typically at the end of each file
- Total files affected: 166
- Total lines removed: 1,332

Affected areas:
- All app README files (28 apps)
- All app subdirectory READMEs (constants, api, utils, models, forms, classes, etc.)
- All lib integration READMEs (45+ services)
- All core module READMEs (admin, middleware, validators, etc.)
- All utils subdirectory READMEs

Excluded from changes:
- Gitignored directories (venv/, static/, data/, .github/, docker/)
- Generated files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Updated all 54 subdirectory README files to use specific module type names instead of generic 'This module':

- API modules now say 'This API module'
- Utils modules now say 'This utils module'
- Forms modules now say 'This forms module'
- Models modules now say 'This models module'
- Classes modules now say 'This classes module'
- Constants modules now say 'This constants module'
- Management modules now say 'This management module'
- Commands modules now say 'This commands module'
- Third-party integrations now say 'This integration'

This makes the documentation clearer about what each submodule is, especially for nested modules like apps/accounts/api/ which belongs to the accounts app.
Removed the descriptive subtitle lines that appeared between the title and the Overview section in 99 README files.

This cleans up formatting so READMEs go directly from title to content:
- Before: # Title\n\nDescriptive line.\n\n## Overview
- After: # Title\n\n## Overview

Affected files include all constants, api, utils, forms, models, and library integration READMEs.
Set up mkdocs with Material theme to build documentation site from README files across the repository. Includes build and serve scripts for local development and CI/CD automation.

## Changes
- `mkdocs.yml`: Documentation site configuration with Material theme, custom branding (#0037f0), and navigation matching repository structure
- `build-docs.sh`: Script to copy README files and build static site for GitHub Pages
- `serve-docs.sh`: Script for local development with automatic README copying and live reload
- `.gitignore`: Updated to ignore `docs/` (temporary build folder) and `site/` (generated output)
- `docs/extra.css`: Custom CSS for brand colors and styling
- `.github/workflows/deploy-docs.yml`: GitHub Actions workflow for automatic deployment to GitHub Pages on README updates

The documentation reads from actual README.md files throughout the repository without duplication or symlinks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@jontsai jontsai deleted the docs/mkdocs-setup branch November 16, 2025 01:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants